package ae.pcfc.etks.online.itworx.ehs.web.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.envers.AuditTable;
import org.hibernate.envers.Audited;
import org.hibernate.validator.constraints.Length;

@Entity
@Audited
@AuditTable(value = "T_EHS_AUDIT")
@Table(name = "T_EHS_DOCUMENT_TYPE")
@SequenceGenerator(name = "EHS_DOCUMENT_TYPE_ID_SEQ", sequenceName = "EHS_DOCUMENT_TYPE_ID_SEQ", initialValue = 1, allocationSize = 1)
public class DocumentType extends AuditableEntity implements Serializable {

	@Id
	@Column(name = "EHS_DOCUMENT_TYPE_ID")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EHS_DOCUMENT_TYPE_ID_SEQ")
	private long id;
	@Column(name = "ENGLISH_NAME", length = 150)
	@Length(max=150)
	private String englishName;
	@Column(name = "ARABIC_NAME", length = 150)
	@Length(max=150)
	private String arabicName;
	@Column(name = "ENGLISH_DESCRIPTION")
	private String englishDescription;
	@Column(name = "ARABIC_DESCRIPTION")
	private String arabicDescription;
	@Column(name = "STATUS", length = 50)
	private String status;
	@Column(name = "REMOVABLE", nullable = false, length = 50)
	private boolean removable;

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getEnglishName() {
		return englishName;
	}

	public void setEnglishName(String englishName) {
		this.englishName = englishName;
	}

	public String getArabicName() {
		return arabicName;
	}

	public void setArabicName(String arabicName) {
		this.arabicName = arabicName;
	}

	public String getEnglishDescription() {
		return englishDescription;
	}

	public void setEnglishDescription(String englishDescription) {
		this.englishDescription = englishDescription;
	}

	public String getArabicDescription() {
		return arabicDescription;
	}

	public void setArabicDescription(String arabicDescription) {
		this.arabicDescription = arabicDescription;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public boolean getRemovable() {
		return removable;
	}

	public void setRemovable(boolean removable) {
		this.removable = removable;
	}

}
